package 面向对象;

/**
 * 面向对象，数据类型，运算符与表达式，流程控制，反射，泛型，异常处理，注解，包，枚举，集合，日期，IO流
 * java基础八大知识点：数据类型，运算符与表达式，流程控制, 面向对象， 反射，泛型，异常处理，注解
 * 封装
 * 继承
 * 抽象
 * 接口
 * 内部类
 * 抽象类
 * 匿名类
 * 反射
 * 异常
 * 泛型
 * 注解
 * 包
 * static
 * 枚举
 * 数据类型
 * 数组
 * 集合
 * 字符串
 * 1. static 修饰类的成员 在内存中只存在一份，被所有对象共享，存在方法区中
 * 2. static 修饰方法，只加载一次，在方法区中
 * 3. static 修饰代码块，只加载一次，在方法区中
 * 4. static 修饰内部类，只加载一次，在方法区中
 * 5. static 修饰成员变量，只加载一次，在方法区中
 * 静态方法内部不能使用this和super关键字
 * 不能访问实例方法，实例变量
 * 访问：
 * 1. 静态成员变量：类名.静态成员变量
 * 2. 静态方法：类名.静态方法
 * 3. 可以通过对象访问静态成员变量和静态方法 不推荐
 * final 修饰成员变量，只加载一次，在方法区中
 *
 */
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// System.out.println("hello world");
//		Rocket rocket1 = Rocket.getInstance();
//		Rocket rocket2 = Rocket.getInstance();
//
//		System.out.println(rocket1 == rocket2);

		Person person1 = new Person("zhangsan");
		System.out.println(person1.getName());
		System.out.println(person1);
	}

}
